home *** CD-ROM | disk | FTP | other *** search
/ Kodak Photo CD - Access Software & Photo Sampler / Kodak Photo CD Access Software & Photo Sampler.iso / windows / access.ms_ / access.ms
Text File  |  1993-03-08  |  6KB  |  212 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit Sample 1
  3. '**************************************************************************
  4.  
  5. ''$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9. ''$INCLUDE 'msregdb.inc'
  10.  
  11. ''Dialog ID's
  12. CONST WELCOME       = 100
  13. CONST ASKQUIT       = 200
  14. CONST DESTPATH      = 300
  15. CONST EXITFAILURE   = 400
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20. CONST BADPATH       = 6400
  21.  
  22. ''Bitmap ID
  23. CONST LOGO = 1
  24.  
  25. GLOBAL DEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "Kodak Photo CD Access Software"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.         szInf$ = GetSymbolValue("STF_CWDDIR") + "ACCESS.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     OPTCUR$ = "1"
  46.     DEST$ = "C:\ACCESS"
  47.  
  48. WELCOME:
  49.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  50.     IF sz$ = "CONTINUE" THEN
  51.         UIPop 1
  52.     ELSE
  53.         GOSUB ASKQUIT
  54.         GOTO WELCOME
  55.     END IF
  56.  
  57.  
  58. GETPATH:
  59.     SetSymbolValue "EditTextIn", DEST$
  60.     SetSymbolValue "EditFocus", "END"
  61. GETPATHL1:
  62.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  63.     DEST$ = GetSymbolValue("EditTextOut")
  64.  
  65.     IF sz$ = "CONTINUE" THEN
  66.         IF IsDirWritable(DEST$) = 0 THEN
  67.             GOSUB BADPATH
  68.             GOTO GETPATHL1
  69.         END IF
  70.         UIPop 1
  71.     ELSEIF sz$ = "REACTIVATE" THEN
  72.         GOTO GETPATHL1
  73.     ELSE
  74.         GOSUB ASKQUIT
  75.         GOTO GETPATH
  76.     END IF
  77.  
  78.  
  79.     Install
  80.  
  81.  
  82. QUIT:
  83.     ON ERROR GOTO ERRQUIT
  84.  
  85.     IF ERR = 0 THEN
  86.         dlg% = EXITSUCCESS
  87.     ELSEIF ERR = STFQUIT THEN
  88.         dlg% = EXITQUIT
  89.     ELSE
  90.         dlg% = EXITFAILURE
  91.     END IF
  92. QUITL1:
  93.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  94.     IF sz$ = "REACTIVATE" THEN
  95.         GOTO QUITL1
  96.     END IF
  97.     UIPop 1
  98.  
  99.     END
  100.  
  101. ERRQUIT:
  102.     i% = DoMsgBox("Setup sources were corrupted, call 555-1212!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  103.     END
  104.  
  105.  
  106.  
  107. BADPATH:
  108.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  109.     IF sz$ = "REACTIVATE" THEN
  110.         GOTO BADPATH
  111.     END IF
  112.     UIPop 1
  113.     RETURN
  114.  
  115.  
  116.  
  117. ASKQUIT:
  118.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  119.  
  120.     IF sz$ = "EXIT" THEN
  121.         UIPopAll
  122.         ERROR STFQUIT
  123.     ELSEIF sz$ = "REACTIVATE" THEN
  124.         GOTO ASKQUIT
  125.     ELSE
  126.         UIPop 1
  127.     END IF
  128.     RETURN
  129.  
  130.  
  131.  
  132. '**
  133. '** Purpose:
  134. '**     Builds the copy list and performs all installation operations.
  135. '** Arguments:
  136. '**     none.
  137. '** Returns:
  138. '**     none.
  139. '*************************************************************************
  140. SUB Install STATIC
  141.  
  142.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  143.     CreateDir DEST$, cmoNone
  144.  
  145.  
  146. '$IFDEF JDE
  147.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  148.     WriteToLogFile ""
  149.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  150.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  151.     WriteToLogFile ""
  152.     WriteToLogFile "May have had to create the directory: " + DEST$
  153.     WriteToLogFile ""
  154. '$ENDIF ''JDE
  155.  
  156.     ClearCopyList
  157.     AddSectionFilesToCopyList "Access Files", SrcDir$, DEST$
  158.     CopyFilesInCopyList
  159.  
  160.  
  161. '$IFDEF JDE
  162.     ini$ = MakePath(DEST$, "DEMO.INI")
  163.     CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
  164.     CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  165.     CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  166.     CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  167. '$ENDIF ''JDE
  168.  
  169.     ''CreateRegKey "pcdviewer\\shell"
  170.     ''CreateRegKeyValue "pcdviewer", "Photo CD Viewer"
  171.     ''CreateRegKeyValue "pcdviewer\\\\shell", "pcdview.exe"
  172.     ''CreateRegKeyValue ".pcd", "pcdviewer"
  173.  
  174.     CreateProgmanGroup "Photo CD Access", "", cmoNone
  175.     ShowProgmanGroup   "Photo CD Access", 1, cmoNone
  176.     CreateProgmanItem  "Photo CD Access", "Photo CD Viewer", MakePath(DEST$, "pcdview.exe"), "", cmoOverwrite
  177.     CreateProgmanItem  "Photo CD Access", "Read Me", "notepad.exe " + MakePath(DEST$, "readme.txt"), "", cmoOverwrite
  178.     CreateProgmanItem  "Photo CD Access", "Release Notes", "write.exe " + MakePath(DEST$, "readme.wri"), "", cmoOverwrite
  179.  
  180. '$IFDEF JDE
  181.     AddDos5Help "YOURAPP", "A brief help text for your Windows application."+chr$(10)+"It can be continued on another line with chr$(10).", cmoNone
  182.  
  183.     CloseLogFile
  184. '$ENDIF ''JDE
  185.  
  186. END SUB
  187.  
  188.  
  189.  
  190. '**
  191. '** Purpose:
  192. '**     Appends a file name to the end of a directory path,
  193. '**     inserting a backslash character as needed.
  194. '** Arguments:
  195. '**     szDir$  - full directory path (with optional ending "\")
  196. '**     szFile$ - filename to append to directory
  197. '** Returns:
  198. '**     Resulting fully qualified path name.
  199. '*************************************************************************
  200. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  201.     IF szDir$ = "" THEN
  202.         MakePath = szFile$
  203.     ELSEIF szFile$ = "" THEN
  204.         MakePath = szDir$
  205.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  206.         MakePath = szDir$ + szFile$
  207.     ELSE
  208.         MakePath = szDir$ + "\" + szFile$
  209.     END IF
  210. END FUNCTION
  211.  
  212.